/*-------------------------------------------------------------------------
 *
 * readfuncs.h
 *	  header file for read.c and readfuncs.c. These functions are internal
 *	  to the stringToNode interface and should not be used by anyone else.
 *
 * Portions Copyright (c) 1996-2017, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/include/nodes/readfuncs.h
 *
 *-------------------------------------------------------------------------
 */
#ifndef READFUNCS_H
#define READFUNCS_H

#include "nodes/nodes.h"

/*
 * prototypes for functions in read.c (the lisp token parser)
 */

#define pg_strtok(lengthptr)  pg_strtok_change(lengthptr, true)

extern char *pg_strtok_change(int *length, bool chg_strok);
extern char *debackslash(char *token, int length);
extern void *nodeRead(char *token, int tok_len);
extern void *stringToNode_skip_extern_fields(char *str);

/*
 * prototypes for functions in readfuncs.c
 */
extern Node *parseNodeString(void);

#endif							/* READFUNCS_H */
